Portable spirometer with improved accuracy

ABSTRACT

A spirometric measurement device includes an arrangement for computation of a dynamic BTPS correction factor, to compensate for temperature-related volume changes due to cooling of expired gas. The correction factor varies in time according to variation of temperature of a flow sensor. The temperature of the flow sensor is accurately established by positioning a temperature sensor downstream of the flow sensor. Autozeroing drift compensation is provided by addition of a PWM signal having an adjusted DC value. Resolution accuracy is increased beyond the capacity of an analog-to-digital converter used in the circuit by implementing a dithering procedure, wherein zero average noise is superimposed on the signal, or by implementing a modified dithering procedure wherein a sawtooth waveform is added to the flow signal, and oversampling the resultant signal.

TECHNICAL FIELD

This invention relates to spirometers, and more particularly to portable spirometers incorporating microprocessor controlled data collection devices, including non-heated ceramic flow sensors and temperature sensors for establishing a temperature correction factor for data obtained from the flow sensor.

BACKGROUND ART

Workers exposed to irritating dusts and fumes have been known to exhibit changes in lung function throughout a work shift to which they are assigned. Standard spirometry data collected before and after the work shift may detect a change in lung function from the beginning to the end of a work shift. However, it is more important to track changes in lung function and capacity on a substantially real-time, periodic basis, whether throughout the work shift or over the course of an entire day (or days).

Similarly, asthmatics may experience randomly occurring attacks. While lung function is adversely affected during the attack, lung function may return to normal thereafter. For these individuals, spirometric data collected during an attack is a more accurate representation of the nature of the attack and is thus more desirable to obtain than data indicative of lung function only at the beginning and end of an attack.

Portable, or hand held, prior art spirometric devices are commercially available. Such devices are known in the art. The known devices operate as follows.

Volume spirometers provide the simplest approach to measurement of spirometric parameters. Volume spirometers are essentially large cylindrical chambers including displaceable pistons. A test subject forces air into the chamber by performing a forced vital capacity (FVC) maneuver. The piston displacement corresponds to the volume of air being expired. Although accurate, these devices are large and bulky.

To keep the size and weight of a spirometric device to a minimum, it is known to measure flow instead of volume. Thus, in a flow-spirometer a flow sensor outputs a flow signal indicative of detected air flow thereacross. The desired volume data is then determined by mathematical integration of the flow signal. An advantage of such an approach is that flow spirometers are inherently smaller than volume spirometers. However, although implementable by a smaller device, the flow-sensing method of obtaining spirometric data is known to be less accurate and more sensitive to errors than the volume based method.

The volume of gas exhaled into both volume and flow-based spirometric devices is initially at 37 degrees C. and rapidly cools to ambient temperature. This cooling to ATPS (Atmospheric Temperature Pressure Saturated) causes a contraction of the gas from the volume occupied at BTPS (Body Temperature Pressure Saturated) in the subject's lungs. The spirometric volume measurement must therefore be multiplied by a BTPS correction factor to obtain the volume value at body temperature.

Portable flow type spirometric systems fall into one of two categories: (1) peak flow meters and (2) pneumotach systems.

Peak flow meters are very simple mechanical devices consisting of a mouthpiece and an indicator gauge. When the subject performs a FVC maneuver, the force of the expired air moves an indicating marker along a calibrated dial allowing peak flow to be read. If such a device is used without the aid of an administering technician, it is the subject's responsibility to perform the maneuver with sufficient effort, read the graduated scale correctly, and record the value along with the time of day. Peak flow is the only information that can be obtained from this type of device.

Portable pneumotach systems comprise a flow sensing pneumotach which generates an electrical flow signal proportional to flow. The flow signal is sampled periodically by a microprocessor, which then evaluates and stores the data.

However, because of lack of resolution in the electronic analog-to-digital converter (ADC) device which converts the analog flow signal to digital form usable by the microprocessor, there result deficiencies in accuracy of the measurement. This difficulty manifests itself most prominently at low flow rates as a lack of flow resolution and results in significant volume errors when the flow is integrated over time to obtain volume.

Similarly, because the pressures being measured are relatively small (less than 1 inch of water at 12 liters/second) and solid state transducers functioning adequately in this range suffer from large offset drifts due to temperature, accuracy is still further reduced. In a known device, the pressure transducer has an output of 2.5 mv per inch of water and a temperature offset drift of typically plus/minus 3 mv from 0 to 25 degrees C. In the known device, no drift compensation is provided. Instead, the transducer output span is reduced to allow for the large fluctuation in offset drift. However, this drift can be greater than the output span.

The processing circuitry used in such devices further results in flow errors caused by a lack of resolution therein. Although individual flow errors are quite small (a maximum of 1 part in 4096 for an existing 12 bit ADC), when integrated over extended periods of time to determine volume, the resulting volume errors can become significant. However, resolving the problem by using higher resolution electronic ADC's is expensive, and requires significant additional electronic circuitry.

The flexibility of these types of portable pneumotach systems is further limited by the microprocessor software, which is usually stored in a read-only-memory (ROM). It is known that different sampling programs may be needed, or provided, for different spirometric units, depending on the specific application contemplated. However, for known spirometric devices the sampling program is part of the software stored in read-only-memory (ROM). Thus, modification of the sampling (as well as other) software is not possible without disassembling the device and replacing the ROM chip.

Further, known devices fail to provide for dynamic computation of the body-temperature-pressure-saturated (BTPS) correction factor (CF). That is, where non-heated ceramic flow sensors are used, typically there is only incomplete cooling of the flowing air as the air passes through the sensor. Thus, the usual technique applies a factor approximately equal to thirty percent (30%) of the full BTPS CF. Upon testing of several ceramic flow sensors with a mechanical pump, using both room air and air heated to 37° C. and saturated with water vapor, the inventors discovered the following.

Upon using volume ramps and the first four ATS standard waveforms to test the sensors, and upon calculating an estimated BTPS correction for FVC and forced expiratory volume in 1 second (FEV1) by dividing the volume measured with room air by the volume measured with heated and humidified air, the results using room air showed considerable variability in the linearity of the flow sensors. One sensor showed a 400 ml difference (6.7%) in a 6 L volume ramp and flow rates of between 0.6 and 8 L/s. Using heated and humidified air, the estimated BTPS CF with the sensor initially at 20° C. ranged from 1.06 to 1.00, compared to a calculated value of 1.102. The estimated BTPS CF also varied with the number of curves previously performed, the time between curves, the volume of the current and previous curves, and the temperature of the sensor.

Thus, the known devices suffer from inaccuracies occasioned by the known technique of using ambient temperature to estimate the temperature of the flow sensor, as well as from errors arising from use of a single, static, BTPS correction factor for all parameters, without regard to the exact time that specific measurements are made during a forced exhalation and to time related temperature variation.

Additionally, known devices convert the raw spirometric data to various parameters descriptive of the user's lung capacity, storing only the resultant parameters rather than the raw data. Thus, known devices lose any capability to perform further computations on the raw data and to abstract still further information therefrom.

Moreover, known devices do not include a provision for reminding a user to obtain data periodically.

Still further, known devices suffer from inaccuracies caused by flow sensor nonlinearity and flow sensor drift.

All of the commercially available portable flow devices known to the inventors thus suffer from limitations in accuracy, flexibility, data storage capacity and physical size, and lack specific desirable options and features. The prior art devices are thus inadequate for remote and prolonged data collection.

There is accordingly a need in the prior art for a portable spirometric device capable of providing spirometric data having improved accuracy and reliability and providing an improved resolution in the conversion process.

There is a more specific need in the prior art for a flow type spirometer including a capability for dynamic computation of the BTPS correction factor.

Still another need of the prior art is for an ability to provide actual sensor temperature values for the flow sensor of a portable spirometer.

There is a further need for a portable spirometric device having a capability for accepting different operating control programs for flexible adaptivity to various applications, including accepting differing sampling programs, without requiring disassembly or replacement of a ROM therein.

There is yet another need in the prior art, for spirometric devices including means for correcting inaccuracies caused by flow sensor nonlinearity and flow sensor drift.

Additionally, there is a need in the prior art for a portable spirometric device having improved storage capacity for raw spirometric data, to enable subsequent processing thereof.

There is moreover a need in the prior art for a portable spirometric device which periodically reminds its user to perform a FVC maneuver to obtain periodic spirometric data.

There is still a more specific need in the prior art to provide increased resolution in the analog to digital conversion process without incurring the additional costs associated with higher resolution ADC's, thus to permit the use of lower resolution ADC's with minimal additional circuitry and oversampling to improve the existing resolution capability thereof.

There is yet another need in the prior art to provide temperature drift compensation for the transducers used in known devices, thus to increase the effective transducer span and to extend the operating temperature range of the device.

Further, there is a need in the prior art for a portable spirometric device having a reduced size to assure that a subject will not be discouraged by bulkiness of the device from carrying the device and using the spirometer as required.

DISCLOSURE OF INVENTION

It is accordingly an object of the present invention to provide a method and apparatus for acquiring pulmonary function data which meets or exceeds the standards set by the American Thoracic Society (ATS).

It is another object of the invention to provide an apparatus for increasing spirometric measuring accuracy by increasing the analog-to-digital conversion resolution through the addition of a signal having zero average random-noise characteristics, thus implementing a dithering technique.

It is yet another object of the invention to provide an apparatus with increased spirometric measuring accuracy by use of a modified dithering process, wherein a sawtooth is added to the flow signal in combination with oversampling.

It is yet another object of the invention to provide apparatus for increasing spirometric measuring accuracy by compensating for inherent transducer temperature drift.

It is a more specific object of the invention to provide spirometric measurement apparatus which generates dynamic BTPS correction factors, thus improving accuracy and reliability of parameters computed therefrom by correction for dynamic changes in sensor and ambient air temperatures.

It is a further object of the invention to provide a spirometer including means for obtaining actual (rather than estimated) sensor temperature values for the flow sensor of a portable spirometer.

Yet another object of the invention is to provide a portable spirometric device having a capability for accepting different operating control programs for flexible adaptivity to various applications, including accepting differing sampling programs, without requiring disassembly or replacement of a ROM therein.

It is a particular object of the invention to provide a structure, such as a serial data link, for downloading programming and individual data collection features to a spirometric device from a personal computer (PC) as well as to permit the PC to retrieve and archive the spirometric data.

It is still another object of the invention to provide a spirometric device including means for correcting inaccuracies caused by flow sensor nonlinearity and flow sensor drift.

Yet another object of the invention is to provide novel software for quality control and analysis of retrieved spirometric data to insure that the data is in compliance with the ATS reproducibility and acceptability criteria.

It is another object of the invention to provide a portable spirometric device including sufficient storage capacity for raw (unprocessed) digital data to allow archiving and further analysis in scientific research.

Yet another object of the invention is to provide a spirometer capable of correctly tracking a subject's respiratory function throughout a monitored time period, by periodically reminding the subject to perform a maneuver.

It is thus a further object of the invention to provide a spirometric device having a capability of prompting a subject of a spirometric test to perform a periodic spirometry maneuver while allowing the subject to initiate the maneuver.

Still another object of the invention is the provision of a programmable alarm to prompt the subject to perform a maneuver, thus freeing the subject from both a requirement to record results and to remember when a maneuver is due.

Still a further object of the invention is to provide a spirometer including a clock for marking data representative of each maneuver with time and date information associated therewith.

It is yet another object of the invention to provide a portable spirometric device having a reduced size to assure that a subject will not be discouraged by device bulk from carrying the device and using the spirometer as required.

In accordance with these and other objects of the invention, there is provided an improvement for a spirometer, which includes a temperature sensor for sensing a temperature of a flow sensor and a dynamic correction device responsive to the temperature sensor for determining a time-varying, dynamic, body-temperature-pressure-saturated (BTPS) correction factor in accordance with a time-variation in the temperature of the flow sensor sensed by the temperature sensor.

Moreover, in accordance with the invention the temperature sensor is situated at a distal end of the flow sensor and, more particularly, in a passageway downstream of the flow sensor.

In accordance with another feature of the invention, the temperature sensor outputs a time varying temperature signal representing sensor temperature as a function of time, and the dynamic correction device includes a programmed processor which is programmed to compute the dynamic BTPS correction factor as a function of the time varying temperature signal.

The programmed processor may execute a predetermined sampling program, and a separate computer, physically separate from the spirometer, may be used for storing a plurality of sampling programs. A transfer device transfers the predetermined sampling program stored in the separate computing means to the programmed processor, thereby to program the processor to execute the predetermined sampling program.

The inventive spirometer may include a timer for identifying times at which time-varying raw forced expiratory volume (FEV) data are obtained, and a storage for storing the FEV data together with the identifying times associated therewith.

In accordance with the inventive improvement, there is provided an apparatus for increasing the resolution accuracy of a pneumotach or portable spirometer by dithering the instantaneous amplitude of the ADC input signal between adjacent levels of the ADC.

More specifically, in accordance with the invention, a dither signal having a zero time-average magnitude is added to the detected flow signal for randomly or periodically altering the instantaneous amplitude of the input signal to an existing ADC of a known device. The signal added to the input is of a higher frequency than the sample rate of the ADC and thus appears as noise to the ADC. Since the data collector adds two successive digitized samples to obtain a result, resolution is increased by the added signal.

In accordance with another aspect of the invention, only the ceramic flow element and temperature sensor of the known sensor are retained, and the electronic components thereof are eliminated. Additional electronic components are added to the data collector and a modified dithering process is implemented by addition of a sawtooth waveform as a dithering signal, in combination with 16× oversampling to increase effective resolution of a 10 bit ADC included in the data collector to 14 bits.

Other objects, features and advantages of the present invention will become readily apparent to those skilled in the art from the following description wherein there is shown and described a preferred embodiment of the invention, simply by way of illustration and not of limitation of the best mode (and alternative embodiments) for carrying out the invention. The invention itself is set forth in the claims appended hereto. As will be realized upon examination of the specification with due reference to the drawings, the present invention is capable of still other, different, embodiments and its several details are capable of modifications in various obvious aspects, all without departing from the invention which is recited in the claims. Accordingly, the drawings and the descriptions provided herein are to be regarded as illustrative in nature and not as restrictive of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, incorporated into and forming a part of the specification, illustrate several aspects of a preferred embodiment of the present invention and, together with the description, serve to explain the principles of the invention. In the drawings:

FIG. 1 illustrates an improved spirometer in accordance with the principles of the present invention;

FIG. 2 shows an exploded view of a portable spirometric measurement device;

FIG. 3 shows an exploded view of a compartment remotely located from the portable device of FIG. 2;

FIG. 4 schematically illustrates an interconnection of electronic compartments of FIGS. 2 and 3;

FIG. 5 shows a connection between a PC and a data collector of the invention;

FIG. 6 illustrates a connection between the data collector and portable pneumotach components of the invention as used to collect spirometric data;

FIG. 7 is a flow chart showing a portion of a control program for the inventive device;

FIG. 8 is another flow chart showing another portion of the control program;

FIG. 9 is a flow chart showing a further portion of the control program;

FIG. 10 shows a further flow chart for yet a further portion of the control program for the invention device.

FIG. 11-13 show flow charts for additional programs used to control operation of the inventive device;

FIG. 14 shows a circuit for a noise signal generating module which may be incorporated in the data collector microprocessor board of FIG. 2;

FIG. 15 shows a modification of the embodiment of FIG. 3 implementing a dithering technique for improved resolution;

FIG. 16 shows a hardware configuration for compensation of transducer temperature drift;

FIG. 17 shows a flow chart of an auto-zero process to correct for transducer drift;

FIG. 18 shows a hardware configuration for implementing a modified dithering process;

FIG. 19 shows a flow chart of a modified dithering procedure;

FIG. 20 shows a configuration of a microprocessor board based in the invention, and

FIG. 21 shows details of a circuit for implementing drift compensation and modified dithering in accordance with the invention.

BEST MODE FOR CARRYING OUT THE INVENTION

Referring now to the drawings, there is shown in FIG. 1 an improved pneumotach 8 in accordance with the invention. The pneumotach is used in conjunction with an electronics compartment 22 to form a portable spirometric measurement device 10, shown in exploded form in FIG. 2.

As shown in FIG. 1, the pneumotach 8 includes an air inlet 12 and an air outlet 14, at respective proximal and distal ends of a passageway 16, formed by an aluminum housing. A ceramic transducer 18, of a known type, is included within the passageway. Pressure ports 19a and 19b are connected via tubing (not shown) to a pressure sensor used to generate a pressure signal indicative of the pressure drop developed across transducer 18. The pressure sensor is located within compartment 22, which is physically attached to passageway 16.

In a marked departure from the prior art, a temperature sensor 20 is positioned downstream of the sensor 18 in order to measure the temperature of the exit air. In the prior art, a temperature sensor was typically used in the electronics compartment 22, shown in FIG. 2. In the present invention, a cable 23 connects an output from the temperature sensor 20 to circuitry included in compartment 22. The inventive positioning of temperature sensor 20 is significant for the following reasons.

The inventors have discovered that, in the experiment described hereinabove, monitoring of the temperature of the air as it left the sensor, i.e., monitoring the exit temperature thereof, showed a steady rise in temperature with each successive curve. However, both the exit temperature and the estimated BTPS CF stabilized after approximately 5 curves using a particular waveform (FVC=6 L), provided there was only a short pause between curves. Use of exit air temperature alone proved to provide an effective means of estimating a dynamic BTPS CF. The use of a linear model (based on exit temperature) to estimate a dynamic BTPS CF reduced the error in FEV1 to less than ±3% for exit temperatures from 5° to 28° C.

The inventors hereof thus concluded that both sensor linearization and dynamic BTPS CF's are needed for this type of flow sensor to operate within the ATS accuracy recommendations of ±3% for FVC and FEV1, particularly at lower operating temperatures.

Accordingly, as shown in FIG. 1, in a preferred embodiment of the invention the temperature sensor 20 is loaded downstream (at a distal end) of the flow sensor 18 in order to provide a more accurate measurement of the exit temperature and thus to provide a more accurate representation of the transducer temperature than is available in the prior art, wherein the temperature sensor may be in a remote electronics package, or may be upstream of the transducer 18.

As is the case with known spirometers, the inventive device includes separate, interconnected, compartments 22 and 32 for electronic components. Compartment 32, hereinafter data collector 32, is remotely located from the portable device 10. An exploded view of the components of data collector 32 is shown in FIG. 3. Interconnection of compartments 22 and 32 is schematically shown in FIG. 4.

As seen in FIG. 4, internal to compartments 22 and 32 are provided one or more circuit boards 24. Mounted on these circuit boards are various integrated circuit chips 26 on which are formed various electronic components utilized in the invention, such as a microprocessor chip, an analog to digital converter (ADC) for converting analog output signals from the sensors and transducers to digital form for processing by the microprocessor, and the like. Additionally, a pressure sensor is included in (or is mounted on) compartment 22 for generating a pressure signal indicative of flow across transducer 18 as above described.

External to data collector 32 there are provided a pair of LED's 28a and 28b, as well as an operator activated control button, or control switch, 30. Not shown, but also available for the operator on or adjacent the exterior surface of data collector 32, are various other operator interface devices, such as a keyboard, a display, and a printing device. These devices may be used in conjunction with the inventive spirometer similarly to the use thereof in the prior art. Specific interconnections among the various elements illustrated in FIG. 4 are not shown in view of the fact that, upon reading the following disclosure, one of ordinary skill will be enabled to practice the invention by selecting among various chips, peripheral devices and interconnections therefor as are known in the art.

A measurement device as hereinabove described and incorporating the inventive concept is hereinafter referenced as "uPJ".

Preferably, the uPJ is a portable spirometry system including three components. The three components, which are physically separated from each other, include: (1) the portable device 10 (including pneumotach 8), (2) a data collector 32, and (3) a personal computer (PC) 34. The pneumotach 8, which is illustrated by the elements shown in FIG. 1 hereof, senses the respiratory flow while the subject is performing a FVC maneuver. Flow data is sampled and stored by data collector 32 and the various electronic components thereof. The PC 34, which may be any readily available type, is initially used to program the data collector and is subsequently used to retrieve and analyze the data from the data collector.

The above described three components of the inventive system are first configured as shown in FIG. 5 to initialize the system. In this configuration, PC 34 is connected to the data collector 32 via a serial data cable 36. PC 34 stores a number of different sampling protocols, applicable for different test conditions. Each sampling program includes specific options for administration of a spirometric test. The administering physician or technician downloads an appropriate, predetermined, sampling program from the PC 34 to data collector 32 and enters specific system/subject identifiers.

Thereafter, the PC 34 is disconnected from data collector 32 and the portable device 10 is connected thereto, as shown in FIG. 6, which illustrates a connection between the data collector and pneumotach components of the invention as used to collect spirometric data.

For ease of handling, the two components are placed in a lightweight waistpack, advantageously keeping the total system weight at less than 2.5 lbs. The subject is thus able to carry the uPJ throughout the monitoring period, performing FVC maneuvers whenever required. Operation of the system in this phase is totally controlled by the downloaded program located in the data collector. It should be appreciated that downloading of the sampling program from PC 34 to data collector 32 as shown in FIG. 5 places the program in a program random access memory (RAM) of the data collector. Thus, the control program may be changed simply and easily, by downloading a predetermined appropriate program from CPU 34 to the data collector 32, rather than requiring replacement of one ROM chip, storing one program, by a second ROM chip, storing a second program.

When data collection is completed, the system is reconnected as in FIG. 5 and the acquired data is transferred to the PC for innovative drift, temperature and quality checks, as well as for archiving, screening and analysis in accordance with standard criteria and protocols.

The portable spirometric device 10 used in the inventive uPJ system may be of a type available from Tamarac Systems of Denver, Colo. This device requires modification to function in accordance with the invention, in order to place the temperature sensor in the pneumotach at a position downstream of the flow sensor. The Tamarac pneumotach is a totally self-contained unit which, as hereinabove described, measures flow by detecting a pressure drop developed across a ceramic screen. Analog-to-digital circuitry included in compartment 22 converts the pressure differential to a binary count using a 12 bit ADC having 11 bit resolution and one sign bit. The temperature data from the sensor is digitized in a standard manner.

The temperature and pressure data are sampled at a rate of 200 samples/sec and, together, the sampled data are transmitted at 9600 baud to a standard RS232 serial data port 31, provided for communication with the data collector 32. The device is arranged to receive power externally through the unused serial handshaking lines.

The Tamarac pneumotach was chosen for the inventive uPJ because the ceramic element used therein does not condense moisture, as is the case with other unheated screen sensors, thus providing a significant advantage. More specifically, moisture condensation from expired air can cause very large measurement errors by occluding the sensor screen openings. Since a large amount of electrical power must usually be dissipated to heat the sensor and evaporate such accumulated moisture, use of a non-condensing flow sensor drastically reduces the power requirement for a battery powered device.

However, from extensive experimentation with heated/humidified air as hereinabove described, the inventors herein have found that air is cooled as it passes through the ceramic element. The resulting temperature gradient can cause significant errors and is more pronounced during the first few FVC maneuvers, when the pneumotach is cool. Thus, the inventive device disclosed herein is arranged to measure the temperature of the air as it leaves the sensor, thus obtaining the exit temperature, or T_(Exit). The instantaneous temperature measurement is used to calculate an appropriate dynamic BTPS CF, i.e., a correction factor which changes with time: BTPS_(factor) (t).

The known method of determining the BTPS CF is to use ambient temperature to estimate sensor temperature T_(S), and to use a single, static, value of BTPS CF for all parameters (FEV0.5, FEV1, FEV3, etc., where FEVi is the forced expiratory volume in i seconds), without regard to the time during the forced exhalation that these measurements are made. For example, in accordance with the prior art the static BTPS correction factor is determined and applied as follows:

    BTPS.sub.factor =[(BP-Vap)/(273+T.sub.s)]*[310/(BP-47)];

    FEV1.sub.BTPS =BTPS.sub.factor *FEV1.sub.uncorrected ; or

    FEV3.sub.BTPS =BTPS.sub.factor *FEV3.sub.uncorrected

(the same factor being used for FEV1 and FEV3), where:

T_(S) =estimated sensor temperature;

BP=barometric pressure; and

Vap=Water vapor pressure at T_(S).

Most known devices estimate the sensor temperature (T_(S)) by structuring the device to measure room temperature (temperature probe mount inside compartment containing electronics ) or sensor temperature (probe mounted at entry port to sensor), at a time immediately before the subject exhales into the device or after the forced expiration is complete. The present device measures the instantaneous exit temperature (T_(Exit) (t)), and uses this temperature to estimate the instantaneous sensor temperature (T_(S) (t)) according to the equation:

    Ts(i)=-10.5+1.652*Texit(i)                                 1)

where

i=0.5, 1, 3, etc. seconds.

Therefore for FEV0.5, the exit temperature at 0.5 seconds is measured and

    TS(0.5)=-10.5+1.652*T.sub.Exit (0.5).

In accordance with the invention, the correction factor is determined as a function of time by relying on the time dependent measured sensor temperature, using the equation:

    BTPS.sub.factor (i)=[(BP-Vap)/(273+Ts(i))]*[310/(BP-47)].  2)

Thus, for 0.5 seconds,

    BTPS.sub.factor (0.5)=((BP-Vap)/(273+T.sub.S (0.5))*(310/(BP-47))

Finally, the data for a specific time is corrected using the correction factor applicable for that time, using the following equation:

    FEV(i).sub.BTPS =BTPS.sub.factor (i)*FEV(i)                3)

Thus, to obtain corrected data for FEV0.5, the equation yields

    FEV0.5.sub.BTPS =BTPS.sub.factor (0.5)*FEV0.5.sub.uncorrected

Likewise to obtain corrected FEV1 data, the exit temperature at one second is measured and equation (1) yields

    T.sub.S (1)=-10.5+1.652*T.sub.Exit (1).

This result is used to compute the correction factor BTPS_(factor) (0.5) in accordance with equation (2), from which the FEV(1) data are corrected.

It is to be noted that equation (1) used to estimate T_(S) from T_(Exit) was derived from extensive testing using heated and humidified air and a mechanical lung simulator system, as hereinabove described.

While other devices use a BTPS correction factor, none use an instantaneous BTPS(t) correction factor which is dependent on the time at which the parameter (FEV0.5, FEV1, etc.) is measured. The time dependency of the BTPS correction factor in accordance with the invention provides a significant improvement in accuracy.

As previously described herein, the prior art location of the temperature sensor in the pneumotach incorporated in the invention is internal to the electronics compartment thereof. In this location, the temperature sensor detects global changes in environmental temperature which simply fails to reflect the immediate temperature of the flow sensor or the expiratory air. By repositioning the internal temperature sensor to be adjacent (at the downstream end of) the flow sensor as shown in FIG. 1, and centering the temperature sensor in the air stream at the exhaust side of the flow sensor, temperature values at various times throughout the maneuver are measured. Thereafter, when processing the data, a dynamic BTPS correction factor is derived and applied to the data. The temperature sensor modification, together with the correcting software described below, greatly increases accuracy of the device.

Data collector 32 is used to sample the data measured by the pneumotach and communicate with a PC. Both functions are accomplished using the same serial data port of a microprocessor included in the data collector. The inventive data collector utilizes an embedded microprocessor board, such as developed by and available from Triangle Digital Services of London, England under the designation TDS2020 and purchased from the Saelig Co. of Victor, N.Y.

Various features which are desirable for use in the inventive uPJ system, and which are found in the TDS2020 board, include:

a fast 16 bit CMOS CPU (Hitachi H8/532) running at 19.6 MHz, using an on-chip serial port and a 10 bit ADC capable of digitizing 8 channels. The serial port is used to communicate with both the Tamarac (or other) pneumotach and with the PC 34 via onboard RS232 line drivers. These same drivers also supply the ±8 volts used to power the flow sensor. The A/D is used to monitor the battery voltage using four of the 8 A/D channels.

a compact (3"×4") board structure which consumes very little power, thus allowing the data collector electronics to fit in a box measuring 1.5"×3.5"×4.5". The board typically draws 50 mA while running and less than 500 uA in sleep mode. Thus, the unit (which enters a sleep mode between maneuvers as shown in the flow chart of FIG. 6) can be powered for months from a 9 volt battery.

availability of 512 kbytes of battery-backed data RAM on board, for storing at least 128 unprocessed FVC maneuvers. A 3 volt lithium cell protects this RAM in case the main system battery fails, and

an onboard real time clock to periodically time and mark the spirometry maneuvers.

Control software for the data collector 32 is described below. The software was created using a stackable development board (TDS2020DV), also purchased from Saelig. This board contains a FORTH compiler in ROM and 45 kbytes of program RAM. The software was written in FORTH on a PC and then downloaded to the TDS2020DV using the supplied development software. By keeping the development board in the final product, several sampling programs can be written and only the required version need be loaded into the data collector RAM, simplifying reconfiguration or modification of the system.

In addition to the two TDS boards, some other components are used in collecting the data. A standard piezo alarm is used to alert the subject to perform a maneuver. Two LEDS, one red and one green, for example, are used as visible feedback to indicate when the data collector is ready to accept data and, in case of difficulty, as a system error indicator, as shown in the accompanying flow charts. Pushbutton 30 (hereinafter "alert button") is provided to allow the subject to begin a maneuver at any time, as shown in FIG. 10. Two connectors are mounted externally on the case: a standard 9-pin RS232 connector and a phone plug receiving externally applied power. The additional components are routed in a known manner to a single interface board 38, and are stacked in the compartment 32 next to the TDS2020DV onto the TDS2020 board.

The personal computer 34 may be any IBM PC, laptop, or compatible computer. The computer is used to set up the data collector 32 by downloading the appropriate sampling program thereto. After data has been collected, the data is transferred to the PC for calculation and quality control. Connection to the data collector 32 is made via a standard 3-wire RS232 cable. To extend the life of the data collector system battery, external 12 volt DC power is also applied.

The following description, in conjunction with the attached flow charts, describes the software developed for the inventive system in order to enable those of ordinary skill in the art to practice the invention.

When power is first applied to the data collector configured in accordance with FIG. 5, the program RAM is cleared in a standard manner at step S10 in FIG. 7 and the TDS2020 is board is made ready to accept a new program. In view of the above described development used for the software, the program source code must be written in the FORTH programming language. This may be done using any PC text editor.

The FORTH source code is transferred to the data collector 32 using development software available from Triangle Digital Services under the designation TDS-PC. This software sends code, line by line, to the TDS2020 where it is compiled into program RAM. The last line of the source code must invoke its execution. The data collector now has a running program and the TDS-PC is used as a terminal emulator to communicate with the FORTH program.

A unique feature of the uPJ system is the ability to download one of several sampling programs from an IBM-PC compatible computer. This feature is an improvement over prior art devices which use software that is permanently resident in the instrument in ROM. The ability to download different sampling programs allows the same hardware to be used in different sampling environments. That is, for monitoring workers during varying work shifts (for example, alarm settings may vary) or monitoring patients with suspected asthma at home. The specific sampling program (SPIROLOG) used can therefore be varied according to the particular situation and particular conditions, and therefore allows the most appropriate and efficient means of data collection. In addition, battery usage can be minimized by entering a sleep mode as shown at step S26 in FIG. 8, thus extending the time the instrument can be used without changing the battery.

In accordance with the invention, there is provided a sampling sequence, or program, which collects 100 FVC data points per second, for up to 20 seconds as noted at steps S62-S76 in FIGS. 9-10, after either the subject initiates a maneuver request by pressing the alert button 30 of FIG. 4, as detected at step S80 in FIG. 10, or the pre-programmed alarm has been sounded to automatically alert the subject. Without data compression, 128 flow time curves can be saved in the above noted RAM.

A different sampling program is available to compress the data if the sampling environment so dictates. Saving the entire flow time signal in RAM (as shown in steps S64 and S72) is a distinctive feature of the invention which is not available in other instruments. With the availability of the entire expiratory flow time signal, sufficient information is available to perform a thorough assessment of the maneuver's quality. In addition, sufficient information would thus be available for other software, presently being developed, to automatically classify patients as having or not having asthma.

Once SPIROLOG is running, the administering personnel is prompted by the software at step S14 in FIG. 7 to enter the time, date, and specific patient and system parameters (i.e., subject ID, study name, etc.). After all pertinent information is collected, the SPIROLOG main menu is displayed at step S16. Here, steps S18-S24 permit the technician to view or change any entered information, begin spirometry data collection, transfer the collected data, or check the system status, such as, battery voltage and number of curves collected.

If spirometry is selected at step S20, the data collector must be disconnected from the PC and connected to the pneumotach to begin operation in accordance with the flow chart of FIG. 8. The data collector enters a sleep mode at step S26, conserving battery power. Readiness to perform a maneuver, i.e., the preprogrammed alarm has been sounded or the subject has pressed the alert button, is detected at step S28. The data collector then wakes up and applies power to the pneumotach at step S30. After some preliminary error checking at steps S32, S34 and S38 to insure the battery voltage is valid and data RAM space is available, the unit waits for the pneumotach to send flow and temperature data. When the data collector is awakened and power is applied at step S30, the device immediately begins transmitting flow and temperature data, following different sequences depending on the mode by which the device was awakened, which is determined at step S36. If data is not received within one second, it is assumed that the PC is connected and program flow is returned to the main menu, awaiting another selection from the technician. Otherwise, flow sensor data is sampled at step S64 of FIG. 9.

One of the problems with prior art pneumotachs is the tendency for the flow sensor output (or the pressure transducer output) to drift after power is first applied. A unique power-up procedure is thus provided in the present invention to help minimize this effect. As shown at steps S44 and S46 in FIG. 8, power is applied to the sensor for 30 seconds prior to actually collecting FVC data in FIG. 9. This delay is provided in order to give ample time for the amplifier electronics to stabilize to a predictable rate. In addition to this power-up delay, a pressure transducer stability test is performed prior to collecting data. The stability test is shown as a subroutine S52 in FIG. 9. This test involves sampling a zero-flow value at 1/2 second intervals as shown at steps S54 and S56, and comparing the current and previous values at step S58. When the difference between the two values becomes less than a predefined limit, or 10 seconds has elapsed, the subroutine exits via an affirmative determination at either of steps S58 or S60, and the green led is turned on at step S62 to inform the subject that a maneuver may begin and that the maneuver data may be collected. This method has been found to both minimize the inherent transducer drift and to allow for accurate post-processing drift correction. On beginning the maneuver, the subject may blow into the device and sampling continues until 20 seconds of data are collected, as determined at step S76 in FIG. 10, or the subject terminates the maneuver by pressing the alert button, as established at step S80.

SPIROLOG saves the FVC data in 4096 byte blocks, as shown in Table 1 below, each containing 64 bytes of overhead and 4032 bytes (2016 integer samples) of flow data. In accordance with the preferred embodiment and in view of the constraints of the above described system, a flow sample is actually saved as a sum of two consecutive flow values, resulting in a single 10 ms sample. Also, the first 100 samples are continuously saved in a temporary (1-second) ring buffer at step S64 of FIG. 9, until a flow threshold of approximately 200 ml/sec is reached. Once reached, this one second buffer and the remaining flow samples, up to a total of 20.16 seconds, are saved to the data block at step S70 of FIG. 10. This method allows the data block to contain approximately one second of pre-maneuver data.

                  TABLE 1                                                          ______________________________________                                         SPIROLOG Data block format.                                                    Variable            # of bytes                                                                               Block byte #                                     ______________________________________                                         Subject ID number   2         0                                                Study name          8         2                                                Shift code          1         10                                               Sex/Race code       1         11                                               Computer generated quality factor                                                                  1         12                                               not used - - -      1         13                                               Temperature (C.) prior to maneuver                                                                 1         14                                               Barometric pressure (mmHG-550)                                                                     1         15                                               Subject age         1         16                                               Subject height (cm) 1         17                                               Technician ID number                                                                               2         18                                               Sampling software version                                                                          1         20                                               Month at end of maneuver                                                                           1         21                                               Day at end of maneuver                                                                             1         22                                               Year at end of maneuver                                                                            1         23                                               Hour at end of maneuver                                                                            1         24                                               Minute at end of maneuver                                                                          1         25                                               Second at end of maneuver                                                                          1         26                                               Manuever number     1         27                                               Session number      2         28                                               Data collector number                                                                              1         30                                               Data collector type 1         31                                               Pneumotach number   2         32                                               1st Pretest 50 point flow average                                                                  2         34                                               2nd Pretest 50 point flow average                                                                  2         36                                               50 point flow avg 5 sec after test                                                                 2         38                                               Offset to last flow sample in block                                                                2         40                                               Calibration syringe volume (ml)                                                                    2         42                                               1st Posttest 50 point flow avg                                                                     2         44                                               2nd Posttest 50 point flow avg                                                                     2         46                                               3rd Posttest 50 point flow avg                                                                     2         48                                               Temperature count after 1 sec                                                                      2         50                                               Temperature count after 1.5 sec                                                                    2         52                                               Temperature count after 2 sec                                                                      2         54                                               Temperature count after 4 sec                                                                      2         56                                               Temperature count after 7 sec                                                                      2         58                                               Temperature count at FVC                                                                           2         60                                               Temperature count during                                                                           2         62                                               posttest flow avgs                                                             Flow data           2         64-4095                                          ______________________________________                                    

In addition to the raw flow samples, various zero-flow averages and temperatures are collected throughout the maneuver at steps S74 and S78. These values are used later by the PC processing software to determine the necessary correction factors in accordance with the above described equations (1), (2) and (3). Each block, therefore, contains all the information needed to accurately compute the spirometric parameters with dynamic BTPS correction.

To retrieve the spirometry maneuvers, SPIROLOG was designed to send the accumulated data blocks serially to the PC using the YMODEM transfer protocol. To do this, the data collector must be reconnected to transfer data to the PC. This may be done using any commercially available communications program, such as PROCOMM, for example. When the alert button is pressed, SPIROLOG senses the PC and returns to the main menu. The technician will then begin the data transfer at step S18, using PROCOMM or another communication program. Normally, SPIROLOG communicates to the PC at 9600 baud. However, to decrease transfer time, 38.4 kbaud is used during YMODEM transfer.

Once the raw spirometry data is transferred to the PC, several processing steps must be completed before the results are obtained. These steps are sensor linearization, sensor zero-flow correction, dynamic temperature correction, parameter calculation, and quality assessment.

Because each flow sensor has a different relationship between air flow and the pressure drop across the sensor, flow linearization is essential. To determine this correction/linearization model, a 30 point flow calibration curve is generated for each sensor by injecting constant flows from 0.4 to 12 liters per second into the sensor and measuring the corresponding pressure (flow). A very precise, hydraulic-drive mechanical pump or lung simulator is used to generate these 30 different flow rates.

Known methods fit a quadratic function to this relationship using a known least squares curve fitting technique. For this device, two spline quadratic functions are computed to model the relationship between the applied flow (derived from pump) and the resultant pressure measure by the device. Using two spline functions improves the accuracy of the device. The first quadratic function is applied for flow from 0 to 6 liters per second, and the second quadratic function is used for flows above 6 liters per second. To insure a smooth transition between 5.9 and 6.1 liter per second flow values, the second quadratic function is constrained to pass through the computed value at 6 liters per second, based on computations using the first quadratic function (spline). These functions are derived using a known constrained least squares curve fitting technique and are of the following form, easily implemented in software:

    Flow.sub.corrected (0 to 6 L/s)=B.sub.10 +B.sub.11 *Pressure+B.sub.12 *Pressure.sup.2

    Flow.sub.corrected (>6 L/s)=B.sub.20 +B.sub.21 *Pressure+B.sub.22 *Pressure.sup.2

The coefficients B_(ij) must be derived for each individual sensor.

Zero-flow correction is necessary because the pressure transducer output drifts with time. Correction consists of estimation of this drift throughout the FVC maneuver. Although this drift was found to be exponential, the SPIROLOG program delays collecting FVC data (at step S60) until the zero-flow drift has decayed to an approximate linear range (not exceeding 10 seconds). A linear drift factor is then determined from the flow before and after the maneuver. This drift correction factor is applied to each flow data point.

As previously noted herein, dynamic BTPS correction is needed to compensate for the cooling of the air as it passes through the flow sensor. The dynamic correction factor is estimated by measuring the temperature of the gas as it leaves the sensor. Through extensive testing of the sensor using heated and humidified air, a linear model was developed relating this correction factor with the exit temperature.

The corrected flow signal is integrated as a function of time (volume time curve) and standard known techniques are used to calculate (PJCAL program) the following spirometric parameters:

Computer generate quality code

Peak Expiratory Flow

FVC--Forced Vital Capacity

FEV0.5--Forced Expiratory Volume in 0.5 seconds

FEV1--Forced Expiratory Volume in 1 second

FEV3--Forced Expiratory Volume in 3 seconds

FEF25--75%--Forced Expiratory Flow from 25 to 75 percent of FVC

Vext--Extrapolated Volume

T_(tot) --Total Expiratory time (seconds)

T_(FVC) --Time at which FVC was obtained

In addition to the above noted calculated parameters, the parameters saved by the sampling program (SPIROLOG) are listed in Table 1, however the following parameters are of particular importance:

T_(Zero) --temperature before the start of the test

T₀.5 --temperature at 0.5 seconds into the test

T₁ --temperature at 1 second into the test

T₃ --temperature at 3 seconds into the test

T₆ --temperature at 6 seconds into the test

T_(Eot) --temperature at end of the test.

T_(post) --temperature immediately after completion of the test.

The above temperatures are used to calculate a dynamic BTPS correction factor for each of the calculated parameters described above. The following pressure transducer zero values are saved for sensor zero determination and drift correction, as shown in FIG. 11. While prior devices only determine the pressure sensor zero immediately before the start of test, it will be appreciated from the sequence of steps shown in FIG. 11 that the present device measures the pressure sensor zero at several different times, both immediately before and immediately after the completion of an expiratory maneuver. These different zero pressure measurements are used to determine the sensor zero and to estimate the direction and magnitude of sensor drift. With these additional measurements, the sensor drift during the expiratory maneuver is estimated and zero correction is made for each individual flow point collected during the maneuver. Each pressure is an average pressure, averaged over a 0.5 second interval.

P_(Zero1) --pressure sensor zero before start of test

P_(Zero2) --pressure sensor zero immediately before start of test

P_(Zero3) --pressure sensor zero at end of test immediately before start of maneuver

P_(Post1) --pressure sensor zero at 0.05 seconds after end of test

P_(Post2) --pressure sensor zero at 0.1 seconds after end of test

P_(Post3) --pressure sensor zero at 0.15 seconds after end of test

P_(Post5) --pressure sensor zero at 5 seconds after end of test (only collected when expiratory maneuver lasts longer than 19 seconds).

The data for P_(Post5) is taken when an extremely long maneuver is detected. Such a maneuver may occur either because a patient actually blows into the spirometer for that time duration, or because of sensor drift. Accordingly, the 5 second waiting period is provided to assure that the patient was not blowing into the device.

Each of the post-test pressure sensor zeros (P_(Zero3), P_(Post1), P_(Post2), P_(Post3), and P_(Post5)) are compared to determine if they are consistent with each other. If differences between post-test pressure sensor zeros are not within limits, then an outlier routine is used to determine which value is most likely in error (different from the mean of the other values by a predetermined amount). A post-test pressure sensor zero is then determined using the average of acceptable post test pressures.

The pre-test pressure sensor zeros (P_(Zero1) and P_(Zero2)) are compared to determine if they are within acceptable limits of each other. If they do not agree, each is compared to the average post test pressure sensor zero to determine which is most likely in error. A pre-test pressure sensor zero is then determined from the average of the pre-test pressures or the best pretest pressure.

The direction and magnitude of the pressure sensor zero drift is calculated (PJCAL program) by computing the difference between pre and post test zero pressures versus the test time interval assuming a linear change with time. In this manner, each flow point over the entire test can be corrected for both zero pressure (flow) offset and pressure (flow) drift over the forced exhalation.

Quality assessment (PJCAL program) is performed on each maneuver to determine if it meets the American Thoracic Society's (ATS) definition of an acceptable maneuver (no excessive hesitation, cough, insufficient effort, early termination, etc). In addition, all of the maneuvers for an individual subject are compared to insure that they satisfy the ATS reproducibility criterion. While some of the methods to determine an acceptable maneuver are known (early termination), the software used with this device to detect a cough and insufficient effort is unique.

As shown in FIG. 12, a cough is detected by calculating (step S90) the first derivative of the flow with respect to volume from peak flow to the FVC (D_(i) =Flow_(i) /Volume_(i)); where Volume_(i) =i*FVC/45 and i=1 to 45 (step S92). When it is determined (step S94) that the sum of these derivatives, D_(C), is greater than a critical threshold value (peak flow/5), then a cough is indicated.

If a cough is detected during the first second of exhalation, then this is defined as an unacceptable maneuver and this maneuver is not used. If a cough is detected after one second, then an inhalation of air during what should be a continuous forced exhalation is suspected.

An insufficient effort is determined in accordance with the procedure shown in the flow chart of FIG. 13. Specifically, insufficient effort is determined by calculating from the flow volume curve the volume at which the value of 90 percent of peak flow (after peak flow) occurs. When this volume at which 90 percent peak flow occurs is greater than 35 percent of the FVC, a late peak flow (insufficient effort) is indicated.

After analysis in this fashion, a summary letter with test results and a medical interpretation of the results may be printed.

All of the above are accomplished using various programs written in Turbo-C and run on a PC. Other programs also exist which allow editing of the subject/system overhead data and viewing of the maneuver data in flow/volume or volume/time format.

As previously noted, resolution accuracy of the inventive apparatus may be improved by use of higher resolution ADC's. However, higher resolution ADC's are more expensive and require still more expensive additional circuitry. Alternatively, in accordance with the invention accuracy is improved by use of a dithering technique to add a zero average quasi-noise signal to the flow signal, or by use of a modified dithering technique to add a sawtooth waveform to the flow signal together with a 16× oversampling. In both cases, the inventive apparatus uses the lower resolution ADC's included in the known system, and obtains the improved resolution with a minimal amount of additional circuitry. The following description is provided of the best mode contemplated by the inventors for carrying out this aspect of the invention, which effectively utilizes the larger number of bits used by the microprocessor board of the data collector to enhance the accuracy of the lower number of bits processed by the ADC.

In accordance with one feature of the invention, the apparatus of FIG. 2 is modified by addition of a noise generation module 40 to electronics compartment 22 shown therein, in order to introduce the above described signal to the ADC. In this implementation of the inventive improvement, the existing 12 bit ADC (of the Tamarac device, for example) continues to be used. Since the device is used to measure positive flow values only, i.e., only to measure exhalation, the dithering technique provides an effective 12 bits of flow resolution.

FIG. 14 is an electrical schematic diagram of a module 40 which may be incorporated in an existing flow sensor such as the Tamarac Flow Sensor board to couple a square wave signal to an amplifier circuit for the flow signal. As shown therein, a low power integrated circuit timer 48, which may be a type LMC555 circuit for example, is connected to function as a free running oscillator. At pin 3 of the oscillator IC there appears a square wave signal, having a frequency which may be varied between 125 and 142 KHz. Potentiometer 50 adjusts the output signal amplitude, which is then applied to a voltage divider network (which may be a capacitive voltage divider) added to the Tamarac Flow Sensor board for inputting the signal to the flow signal amplifier on the board.

It is noted that the capacitive network further functions to remove extraneous noise which may be present on the Tamarac Flow Sensor board.

The following description provides an explanation of the dithering technique, in which a zero-average noise signal is added to the information signal, where "noise signal" refers to a time varying signal containing no information directly pertinent to the phenomenon (flow) being measured. The noise amplitude is adjusted to an appropriate value, usually a peak to peak magnitude slightly less than the minimum quantizing level of the ADC, i.e., 1 LSB (least significant bit thereof) and is added to the flow signal prior to performing the analog to digital conversion process.

The fact that the random signal is "zero-average" means that, when the flow signal is integrated over time, the net value of the added noise signal is zero and is thus removed from the resulting integrated value. The microprocessor controlling the process then "oversamples" this composite signal. That is, multiple samples of the composite signal are collected and added to arrive at a final digitized value, which is then divided by the number of samples taken.

The oversampling thus serves to divide one bit of ADC resolution into many smaller parts, depending on the number of multiple samples. By effectively taking a number of analog to digital conversions, adding the sequence of values thus obtained, and dividing by the number of samples taken, the resultant value computed within the microprocessor has greater resolution than the information signal without the added noise signal, since the microprocessor internal hardware is capable of handling a larger number of digital data bits than is the ADC. The random noise superimposed on the flow signal is thus averaged out in the processing software and serves only to insure that the ADC does not favor one level of quanta over an adjacent level.

In accordance with another aspect of the invention, a modified dithering procedure is implemented. In the modified dithering procedure, a sawtooth signal is added to the flow signal, rather than a square wave or random noise. The sawtooth has an amplitude approximately equal to the minimum quantizing level of the ADC, 1 LSB. The sawtooth signal is added to the flow signal prior to performing the analog to digital conversion process.

The procedure above described may be easily implemented by software operating in the microprocessor of the data collector, or in another computer. The superimposed sawtooth waveform, which does not have an average value of zero, therefore causes a slight bias or offset. Using a 16× oversampling results in a constant bias of 8 ADC counts. Inasmuch as all digitized points are equally affected by the bias, compensation occurs later, in post-processing, when zero-flow is subtracted from the flow data to arrive at the true flow deflection.

Since the added signal alters the instantaneous amplitude of the ADC input signal between adjacent levels of the converter's quanta, similarly to a known dithering technique of adding random noise thereto, the described process is termed modified dithering.

The modified dithering technique is implemented in a modification of the embodiment of FIGS. 2-3, in which the data collector 32 is modified, eliminating the need for a separate pneumotach and resulting in a single self-contained unit, as shown in FIG. 15. In FIG. 15, the modified data collector 32 further contains a pressure transducer 42, additional electronic circuitry 44, subsequently described, and external ports 46 to permit mounting of the ceramic pneumotach directly on the enclosure of the data collector thus providing a single unit. The additional circuitry, which is described in FIG. 21, is included in a modified interface board 38' and serves both to amplify the electrical signal from the pressure transducer and to introduce the modified dithering signal thereto.

In the embodiment of FIG. 15, the sawtooth signal is generated using a software program executed by the data collector microprocessor, which includes an 8-bit DAC (digital to analog converter) receiving numeric values generated by the program and converting the same to analog voltage values. The varying analog voltage is electronically summed with the electrical flow signal prior to the analog to digital conversion process.

It should be recognized that the same system as above described may also be used to provide the zero drift correction compensating for changes in the zero flow sensor signal level. For example, by changing the average value of the added signal in an opposite direction to drift of the zero flow sensor signal level, the drift may be corrected. Thus, the embedded microprocessor of the data collector, which monitors the zero flow signal level of the sensor, may also be used to generate the drift corrective signal.

In such an embodiment, data collector 32' is reconfigured as a stand alone, portable spirometer, including apparatus for using a modified dithering of the input signal and thus improving the resolution accuracy of the digital signal processed by the internal microprocessor thereof. Advantageously, the same microprocessor circuitry which samples the electrical flow signal may also generate the resolution enhancement signal and the drift corrective signal.

The embodiment of FIG. 15 provides a single package, stand alone assembly of the ceramic pneumotach and temperature sensor, the TDS2020 microprocessor board, as well as the interface board with pressure transducer and associated electronics. The circuit details of this embodiment are shown in FIGS. 20-21. Operation of the embodiment of FIG. 15 is described as follows.

Referring first to the temperature offset correction provided for the transducer, the automatic zeroing process previously noted is implemented with the aid of the circuitry shown in FIG. 16 and the flow chart shown in FIG. 17. FIG. 16 illustrates a hardware connection wherein a correction voltage, generated as a pulse-width-modulated signal (PWM) by the module of FIG. 14 (or elsewhere) on the TDS2020 board, is converted to a DC voltage by a low pass filter (LPF) 52 and is symbolically added by adder 54 to the pressure signal from the transducer, as amplified by amplifier 56. The PWM signal may be generated by a circuit such as timer 48 of FIG. 14, and the DC value thereof, outputted by LPF 52, offsets the output of amplifier 56. A detailed description of the circuitry used in this connection is shown at FIG. 21.

It will be appreciated that, by varying the PWM duty cycle, the resultant DC (or average) voltage level thereof is changed, thereby shifting the flow signal up or down, as necessary. The auto-zero process of FIG. 17, which is incorporated in the flow chart of FIGS. 7-13 similarly to the stability test of step S52 in FIG. 9, begins by sampling the flow signal at step S100 and comparing this value to a predetermined target zero value at step S102. If a difference exists between the target value and the flow signal, the magnitude of the difference is compared with a preset range at step S104.

If the difference is not within the preset range, the PWM signal is altered at step S106 in a direction to reduce the difference and to move the flow signal voltage closer to the target value therefor. This process continues until the transducer offset is negated, whereupon it is determined at step S104 that the difference between the transducer output signal and the target value is within the predefined limit and the program is terminated at step S108. This portion of the SPIROLOG program is executed before every FVC maneuver, thus forcing autozeroing to occur before the start of every such maneuver.

Proper compensation of the transducer offset voltage by adjustment of the PWM voltage results in application of a maximum flow deflection to the ADC. The flow signal can then be digitized by a modified dithering process, shown in FIGS. 18-19, to increase the ADC resolution.

The hardware and software used to implement the modified dithering process is shown in FIGS. 18-21.

To begin the process, the input signal to be digitized (the flow signal) is held by a track/hold amplifier 60 in FIG. 18, the details of which are shown in FIG. 21. At the same time a sawtooth waveform, having an amplitude of 1 LSB of the ADC, is generated by a sawtooth generator 58, and added by an adder 62 to the flow signal from amplifier 60.

During each sawtooth of the waveform, 16 separate analog-to-digital conversions are performed. The results thereof are collected and added to form the final value. The track/hold amplifier is required in order to prevent the flow signal from changing during the time the multiple samples are being collected, since a varying flow signal would cancel the effect of the sawtooth dither, and cause unpredictable conversion errors.

The inventors have found that a 16× oversampling rate permits the software to collect flow data at the required rate of 100 samples per second, although other rates may be used in accordance with other requirements. In that regard, the 10 bit ADC of the H8 microprocessor in the TDS2020 board is capable of digitizing 8 separate signals. However, as configured in the known device, the microprocessor uses 4 channels to monitor only battery voltage. In the embodiment utilizing modified dithering, the inventors have also reconfigured the microprocessor as follows.

In the modified dithering embodiment two channels are used to monitor battery voltages, one is used to digitize temperature, and one is used with the 16× oversampling, to sample flow. Only the flow signal is oversampled, since 10 bits of temperature and battery resolution is found to be adequate. Of course, the techniques herein described for the flow signal may also be used on any other signal in the invention, if increased accuracy or resolution is required.

Without the modified dithering procedure of the invention, the 10 bit ADC of the H8 microprocessor in the TDS2020 board would collect flow data values in the range of 0 to 1023. However, by using 16× oversampling, the flow signal has discernable values in the range of 0 to 16,383, i.e., an effective resolution of 14 bits. The inventive modification thus provides a fourfold increase over the resolution available with the same circuitry, if unmodified.

The flowchart of FIG. 19 shows the manner in which the modified dithering technique of the invention is implemented. Thus, at step S110 the flow signal is sampled and the sample is held in amplifier 60, to begin the sawtooth wave generation. At step S112 the loop count and the sum values, parameters used in the process, are cleared and at step Sl14 the sample is converted and a value thereof is obtained from the ADC.

Step S116 adds the sample obtained from the ADC to the "sum" value and increments the "count" value. Step S118 determines whether the appropriate number (e.g., 16) samples have been taken and, if not, steps S114 and S116 are repeated until the appropriate number of samples have been taken. At that time, the program exits at step S120.

FIG. 20 shows a configuration of a microprocessor board used in the invention, illustrating the board 90, a plurality of signals 92 outputted from the TDS2020 microprocessor board, and LED's 94 and an annunciator 96 used therewith. Also shown are an external power supply input 98, an operating battery 100 which, in the presently preferred embodiment, is a 9-volt battery, a backup battery 102 which, in the presently preferred embodiment is a 3-volt lithium battery, and an alert switch 104. In addition to standard signals used to enable and control operation of the microprocessor, the signals connected to board 90 include an input signal received from alert switch 104, an alert switch enable signal provided to switch 104, control signals to the two LEDs 94, an alarm signal to control annunciator 96, a sawtooth control signal PA4 to sawtooth generator 58, an autozero adjust signal PWM1, a power up/down control signal PA5 for the entire system, and four analog input signals to the ADC.

FIG. 21 shows the added electronics circuits for implementing drift compensation and modified dithering in accordance with the invention, including the pressure transducer and temperature circuitry. As shown therein, the signal PA5 turns the entire circuit on or off by using a MOSFET transistor circuit. The circuit 64 associated therewith provides an extremely stable supply voltage for all components.

The signal PWM1, which is a 19 KHz signal, is used to generate the autozero voltage. Low pass filter 52 filters this signal to produce a DC voltage proportional to the duty cycle of PWM1. The resulting DC signal is then applied to the reference input 68 of a transducer amplifier 70. By varying the signal PWM1, the SPIROLOG program changes the transducer offset (or zero-flow) value. The flow signal is further amplified and filtered by circuit 66.

The sawtooth generator is generally shown at 58, and is controlled by the signal PA4. When this signal becomes active, a current source 72, which may be of the type known as an LM334, charges a 0.01 uF capacitor 74 to create the sawtooth signal. At the same time, the signal PA4 places the track/hold amplifier circuit 60 in a hold mode. The flow signal temporarily held therein is then summed by adder 62 with the sawtooth signal from generator 58, thereby creating the dithered flow signal that is applied to one of the four analog inputs to the ADC. Flow can now be digitized, using the modified dithering procedure previously described herein.

It should be noted that a temperature sensor 78, which may be of the type known as LM34, is mounted in the ceramic element and produces a voltage which is amplified by an amplifier 80, and is then applied to another of the analog inputs to the ADC. This signal is not dithered.

The foregoing description of the preferred embodiments of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed since many modifications or variations thereof are possible in light of the above teaching. All such modifications are within the scope of the invention. The embodiments described herein were chosen and described in order best to explain the principles of the invention and its practical application, thereby to enable others of ordinary skill in the art best to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated therefor. It is intended that the scope of the invention be defined by the claims appended hereto, when interpreted in accordance with full breadth to which they are legally and equitably entitled. 

We claim:
 1. In a spirometer including a passageway, a flow sensor means for generating an electric flow signal representing a rate of gas flow from a proximal end to a distal end of said passageway, sampling means for sampling the flow signal to provide flow signal samples, existing analog-to-digital converting means (ADC) having a predetermined resolution for converting the flow signal samples provided by said sampling means to digital data, and processing means for processing said digital data provided by said ADC, the improvement comprising:resolution improving means for improving said predetermined resolution of said existing ADC, said resolution improving means comprising means for adding a predetermined signal to said flow signal to ensure that the analog-to-digital converting means does not favor one flow signal sample over an adjacent level.
 2. An improved spirometer as recited in claim 1, further comprising temperature sensing means for sensing a temperature of said flow sensor means, andprogrammed processing means programmed to compute a body-temperature-pressure-saturated (BTPS) correction factor, to compensate for temperature related volume changes in the gas in accordance with the temperature sensed by said temperature sensing means, wherein said gas flow defines a downstream direction, and said temperature sensing means is situated in said passageway downstream of said flow sensor means.
 3. In a spirometer including a passageway, a flow sensor means for generating an electric flow signal representing a rate of gas flow from a proximal end to a distal end of said passageway, sampling means for sampling the flow signal to provide flow signal samples, existing analog-to-digital converting means (ADC) having a predetermined resolution for converting the flow signal samples provided by said sampling means to digital data, and processing means for processing said digital data provided by said ADC, the improvement comprising:resolution improving means for improving said predetermined resolution of said existing ADC, said resolution improving means comprising means for adding a predetermined signal to said flow signal, wherein said means for adding a predetermined signal comprises:sawtooth signal generating means for generating a sawtooth signal having a sawtooth waveform and means for outputting a combined signal representing addition of said sawtooth signal and said flow signal, and said resolution improving means further comprises oversampling means for obtaining a plurality of samples of said combined signal and for providing said combined signal to said ADC, whereby resolution accuracy of said ADC is increased.
 4. In a spirometer including a passageway flow sensor means for generating an electric flow signal representing a rate of gas flow from a proximal end to a distal end of said passageway, sampling means for sampling the flow signal to provide flow signal samples, existing analog-to-digital converting means (ADC) having predetermined resolution for converting the flow signal samples provided by said sampling means to digital data, and processing means for processing said digital data provided by said ADC, the improvement comprising:resolution improving means for improving said predetermined resolution of said existing ADC, said resolution improving means comprising means for adding a predetermined signal to said flow signal, wherein said means for adding a predetermined signal comprises:noise generating means for generating a noise signal having a zero average and means for outputting a combined signal representing addition of said noise signal and said flow signal, and said resolution improving means further comprises oversampling means for obtaining a plurality of samples of said combined signal and for adding said plurality of samples to obtain a sample value, whereby effective resolution accuracy of said ADC is increased.
 5. In a spirometer including a passageway, a flow sensor means for generating an electric flow signal representing a rate of gas flow from a proximal end to a distal end of said passageway, sampling means for sampling the flow signal to provide flow signal samples, existing analog-to-digital converting means (ADC) having a predetermined resolution for converting the flow signal samples provided by said sampling means to digital data, and processing means for processing said digital data provided by said ADC, the improvement comprising:resolution improving means for improving said predetermined resolution of said existing ADC, said resolution improving means comprising means for adding a predetermined signal to said flow signal, wherein said means for adding a predetermined signal comprises: noise generating means for generating a noise signal having a zero average andmeans for outputting a combined signal representing addition of said noise signal and said flow signal, and said resolution improving means further comprises oversampling means for obtaining a plurality of samples of said combined signal and for providing said combined signal to said ADC, whereby effective resolution accuracy of said ADC is increased. 